In general I/O Library cells and the general design data representations of I/O cells, for example LEF (Library Exchange Format) files do not contain sufficient information for a designer to be able to determine how to interpret the function of the pins of individual I/O cells. The pins of I/O cells can supply power to the cell, pass power supply voltages from outside the IC into the core of the IC, be embedded flip-chip solder bumps or wirebond bondpads, connect multiple redistribution layers routing to separate flip-chip bumps or wirebond pads, or connect to core cells of the IC to pass signals from outside the chip to the IC or from the IC to the system to which it is connected.
There can be dozens or even hundreds of pins on one I/O cell, and each pin can be used for one of the above purposes. In order to correctly interpret I/O cells to use them appropriately when planning the I/O structures and die pads of a new IC, it is necessary to determine how each pin is intended to be used. Certain pins, such as those which supply power to the cell, or pins that connect to core cells are not important when planning I/O. Thus, they can usually be ignored. Other pins, such as those that are embedded die pads or that connect to die pads, are significant to I/O planning.
As this information is not available in the cell library, the current approach to determining how to interpret the various pins of I/O cells when planning the I/O and die pad layout of a new IC was done manually by a human. This made sense since the I/O planning was a completely manual task. Once the Condensed Macro Library file format was developed, a way was provided to record the information. However, this solution still requires the CML file to be created manually by a human using a computer program user interface. Thus, a user must manually determine the use of each pin for all cells in the library. Since a library typically has hundreds of cells that can have hundreds of pins this could be a very lengthy and tedious process.
What is needed is a system and method using parameterized rules which can develop a Condensed Macro Library file that contain the desired information.